home *** CD-ROM | disk | FTP | other *** search
/ Cartopedia - The Ultimate World Reference Atlas / Cartopedia_World_ Reference_CD.ISO / dksetup / dkgen.bak < prev    next >
Text File  |  1996-06-21  |  25KB  |  701 lines

  1. '01/06/95 No choice about adding icons to progman
  2. '?/05/95  If bundle with sampler need to test for cirrus driver - put into mst file
  3. '12/03/95 Alternative function added, readme icon has shortened name
  4.  
  5. '$INCLUDE 'setupapi.inc'
  6. '$INCLUDE 'msdetect.inc'
  7. '$INCLUDE 'dklang.inc'
  8.  
  9. CONST SOURCE_BINARIES_SUBDIR = "DKCODE"
  10. CONST SOURCE_SETUP_SUBDIR = "DKSETUP"
  11. CONST SETUP_INF_FILENAME = "SETUP.INF"
  12. CONST CUIDLL_FILENAME = "mscuistf.dll"
  13. CONST SETUP_INI_BINARIES_SECTION_NAME = "BIN"
  14. CONST SETUP_INI_WING_BINARIES_NAME = "WinG Runtime"
  15. CONST SETUP_INI_WING32_BINARIES_NAME = "WinG32"
  16. CONST SETUP_INI_ACM_SECTION_NAME = "ACM Drivers"
  17. CONST SETUP_INI_FONTS_SECTION_NAME = "Fonts"
  18.  
  19. CONST PRODUCT_INI_DIR_SECTION_NAME = "Directory"
  20. CONST PRODUCT_INI_DIR_ENTRY_NAME = "Data"
  21.  
  22. CONST MINIMUM_DISK_SPACE = 2048 ' For Minimum install
  23.  
  24. ' Procs
  25. CONST PROC_HELP = "FHelpDlgProc"
  26.  
  27. DECLARE FUNCTION ExitWindowsExec LIB "USER.EXE" (szEXE$, szParams$) AS INTEGER
  28.  
  29. DECLARE FUNCTION Ctl3dRegister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  30. DECLARE FUNCTION Ctl3dUnregister LIB "CTL3D.DLL" (hInst%) AS INTEGER
  31. DECLARE FUNCTION Ctl3dAutoSubClass LIB "CTL3D.DLL" (hInst%) AS INTEGER
  32.  
  33. DECLARE FUNCTION OnWin3x LIB "setuphlp.DLL" AS INTEGER
  34. DECLARE FUNCTION VflatdPresent LIB "setuphlp.DLL" AS INTEGER
  35. DECLARE FUNCTION GetRealSystemDir LIB "setuphlp.DLL" (szDir$,cbBuf%) AS INTEGER
  36. DECLARE FUNCTION RestartWindows LIB "setuphlp.DLL" AS INTEGER
  37. DECLARE FUNCTION IsWin32FileNewer LIB "setuphlp.DLL" (szOrig$,szNew$) AS INTEGER
  38. DECLARE SUB RenameFilePlease LIB "setuphlp.DLL" (szOrig$,szNew$)
  39.  
  40. DECLARE FUNCTION FIsVGA LIB "mscuistf.dll" AS INTEGER
  41. DECLARE FUNCTION FIs256Colour LIB "mscuistf.dll" AS INTEGER
  42. DECLARE FUNCTION Welcome() AS INTEGER
  43. DECLARE FUNCTION TestSystem() AS INTEGER
  44. DECLARE FUNCTION GetDiskSpaceNeeded(drive%) AS LONG
  45. DECLARE SUB Initialise(prodName$, defInstallPath$, msgCaption$)
  46. DECLARE SUB DeInitialise()
  47. DECLARE SUB AskQuit()
  48. DECLARE SUB BadPath()
  49. DECLARE SUB NetworkDrive()
  50. DECLARE SUB UpdateIndeoAVIDrivers()
  51. DECLARE SUB UpdateWinGDrivers()
  52. DECLARE SUB UpdateADPCMDrivers()
  53. 'DECLARE SUB UpdateProgramManager(prodName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  54. 'DECLARE SUB UpdateProgramManagerAlt(prodName$, readmeName$, appExeFile$, appPengeFile$, readmeFile$, readmeStr$, onCDROM%)
  55. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  56. DECLARE FUNCTION GetRealWindowsSysDir AS STRING
  57. DECLARE SUB UpdateWinG32 (szOrig$)
  58. DECLARE SUB HandleRestart()
  59. DECLARE SUB InitCommonInstall()
  60. DECLARE SUB EndCommonInstall(appReadmeFile$, inRoot%, szEditorExe$)
  61.  
  62. ' Error messages
  63. CONST ERR_OK = 100
  64. CONST ERR_EXITFAIL = 101
  65. CONST ERR_WINVERFAIL = 102
  66. CONST ERR_NODISKSPACE = 103
  67.  
  68. ' Navigation messages
  69. CONST NAV_FORWARD = 0
  70. CONST NAV_BACK = 1
  71.  
  72.  
  73. ' Bitmap ID
  74. CONST LOGO = 1
  75.  
  76. 'QUIT ASKQUIT
  77. 'ABORT EXITFAILURE
  78. 'BADEXIT EXITQUIT
  79. 'SUCCES EXITSUCCESS
  80. 'WELHELP APPHELP
  81. 'DONEVIDEO DONENEWSYSSOFT
  82. 'DONENOVIDEO DONENOSYSSOFT
  83. 'ADDSYSTEMSOFTWARE NEWSYSTEMSOFTWARE
  84. 'WRONGADPCM NEWADPCM
  85. 'NOSYSSOFTWARE WARNNOSYSSOFT
  86.  
  87. ' Dialog ID's
  88. CONST IDD_WELCOME       = 100
  89. CONST IDD_CUSTOMHELP    = 106
  90. CONST IDD_SPEED         = 111
  91. CONST IDD_ASKQUIT       = 200
  92. CONST IDD_DESTPATH      = 300
  93. CONST IDD_EXITFAILURE   = 400
  94. CONST IDD_EXITQUIT      = 600
  95. CONST IDD_EXITSUCCESS   = 700
  96. CONST IDD_APPHELP       = 900
  97. CONST IDD_DONENEWSYSSOFT    = 1100
  98. CONST IDD_DONENOSYSSOFT     = 1800
  99. CONST IDD_NEWSYSTEMSOFTWARE = 2300
  100. CONST IDD_NEWADPCM      = 2600
  101. CONST IDD_WARNNOSYSSOFT = 3100
  102. CONST IDD_MAILMAN       = 1500
  103. CONST IDD_CUSTOM        = 6200
  104. CONST IDD_BADPATH       = 6400
  105. CONST IDD_NEED31        = 6401
  106. CONST IDD_NOMOUSE       = 6402
  107. CONST IDD_BADVGA        = 6403
  108. CONST IDD_NOT256        = 6404
  109. CONST IDD_POORMACHINE   = 6405
  110. CONST IDD_AWFULMACHINE  = 6406
  111. CONST IDD_PATHHELP      = 6407
  112. CONST IDD_WHIZZHELP     = 6408
  113. CONST IDD_URKADPCM      = 6409
  114. CONST IDD_ADPCMHELP     = 6410
  115. CONST IDD_NODISKSPACE   = 6411
  116. CONST IDD_NETWORKDRIVE  = 6412
  117.  
  118.  
  119. GLOBAL szWinPath As String
  120. GLOBAL szWinSysPath As String
  121. GLOBAL szWinDrive As String
  122. GLOBAL szSrcSetupPath As String
  123. GLOBAL szSrcBinPath As String
  124. GLOBAL szDestPath As String
  125. GLOBAL szOldDestPath As String
  126. GLOBAL szPengePath As String
  127. GLOBAL szINFPath As String
  128. GLOBAL szAppINIPath As String
  129. GLOBAL szMsgCaption As String
  130. GLOBAL szButton As String
  131. GLOBAL szMinimalInstall As String
  132. GLOBAL szAddPMItem As String
  133. GLOBAL szExpressCustomChoice As String
  134.  
  135. GLOBAL fPreviousMode As Integer
  136. GLOBAL fWillNotFit As Integer
  137. GLOBAL fSystemUpdated As Integer
  138. GLOBAL hDlg As Integer
  139. GLOBAL dButton As Integer
  140. GLOBAL dWinDrive As Integer
  141. GLOBAL dDestDrive As Integer
  142. GLOBAL dCursor As Integer
  143.  
  144.  
  145.  
  146. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  147. Sub InitCommonInstall() STATIC
  148.     AddToBillboardList CUIDLL_FILENAME, IDD_MAILMAN, "MailmanDlgProc", 2500
  149.     SetCopyGaugePosition -1, 150
  150. End Sub
  151.  
  152.  
  153. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  154. Sub EndCommonInstall(appReadmeFile$, inRoot%, szEditorExe$) STATIC
  155.     if RestartListEmpty = 0 or fSystemUpdated = 1 then
  156.         hDlg = IDD_DONENEWSYSSOFT
  157.     else
  158.         hDlg = IDD_DONENOSYSSOFT
  159.     end if
  160.  
  161. QuitLoop:
  162.     szButton = UIStartDlg(CUIDLL_FILENAME, hDlg, "FInfoDlgProc", 0, "")
  163.     select case szButton
  164.     case "REACTIVATE"
  165.         goto QuitLoop
  166.     case "CONTINUE"     'Read me
  167.         if inRoot% = 1 then
  168.             szReadMe$ = MakePath( mid$(szSrcSetupPath, 1, (len(szSrcSetupPath) - len(SOURCE_SETUP_SUBDIR))-1), appReadmeFile$)
  169.         else
  170.             szReadMe$ = MakePath(szSrcBinPath, appReadmeFile$)
  171.         end if
  172.         run szEditorExe$ + szReadMe$,NOWAIT , SW_MAXIMIZE
  173.         goto QuitLoop
  174.     case "BACK"     'Restart Windows
  175.         HandleRestart
  176.     case "EXIT"         'Return to Windows
  177.         if hDlg = IDD_DONENEWSYSSOFT then
  178.             dButton = DoMsgBox( STR_SYSMESSAGE, szMsgCaption$, MB_OK+MB_TASKMODAL+MB_ICONHAND)
  179.         end if
  180.     end select
  181.  
  182.     UIPop 1
  183. End Sub
  184.  
  185.  
  186.  
  187. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  188. Sub Initialise(prodName$, defInstallPath$, msgCaption$) STATIC
  189.     ret% = Ctl3dRegister(HinstFrame())
  190.     ret% = Ctl3dAutoSubClass(HinstFrame())
  191.  
  192.     szMsgCaption$ = msgCaption$
  193.  
  194.     cursor% = ShowWaitCursor()
  195.  
  196.     ClearCopyList
  197.     szWinSysPath = ucase$(GetWindowsSysDir ())
  198.     szWinPath = ucase$(GetWindowsDir ())
  199.     dWinDrive = asc(mid$((szWinPath), 1,1)) - asc("A")+1
  200.     szWinDrive = mid$(szWinPath, 1,1)
  201.  
  202.     szSrcSetupPath = ucase$(GetSymbolValue ("STF_SRCDIR"))
  203.     szSrcBinPath = mid$(szSrcSetupPath, 1, (len(szSrcSetupPath) - len(SOURCE_SETUP_SUBDIR))-1) + SOURCE_BINARIES_SUBDIR
  204.     szDestPath = szWinDrive + ":" + defInstallPath$
  205.  
  206.     SetTitle szMsgCaption$
  207.     SetBitmap CUIDLL_FILENAME, 1
  208.     SetAbout prodName$, STR_COPYRIGHT
  209.  
  210.     fPreviousMode = SetBeepingMode (1)
  211.     fPreviousMode = SetDecompMode (1)
  212.     fPreviousMode = SetSilentMode (0)
  213.  
  214.     szINFPath = ucase$(GetSymbolValue("STF_SRCINFPATH"))
  215.     if szINFPath = "" then
  216.         szINFPath = ucase$(GetSymbolValue("STF_CWDDIR")) + SETUP_INF_FILENAME
  217.     end if
  218.     ReadInfFile szINFPath
  219.  
  220.     szExpressCustomChoice = "EXPRESS"
  221.     szMinimalInstall = "OFF"
  222. '    szAddPMItem = "ON"
  223.  
  224.     fSystemUpdated = 0
  225.  
  226.     RestoreCursor(cursor%)
  227. End Sub
  228.  
  229.  
  230.  
  231. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  232. Sub DeInitialise() STATIC
  233.     ret% = Ctl3dRegister(HinstFrame())
  234. End Sub
  235.  
  236.  
  237. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  238. Sub AskQuit() STATIC
  239. begin:
  240.     szButton = UIStartDlg(CUIDLL_FILENAME, IDD_ASKQUIT, "FQuitDlgProc", 0, "")
  241.     select case szButton
  242.     case "REACTIVATE"
  243.         goto begin
  244.     case "EXIT"
  245.         error STFQUIT
  246.     case "CONTINUE"
  247.         UIPop 1
  248.     end select
  249. End Sub
  250.  
  251.  
  252. '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  253.